binarni vyhledavani
Otázka od: David Kopecek
10. 11. 2003 8:12
Zdravim konferenci.
Nemate nekdo optimalni algoritmus na prohledavani binarnich souboru. Mam takovo
malou databazi asi 10.000 zaznamu binarnich
retezcu (antivir) a chtel bych prohledat soubor na vyskyt nektereho z techto
10.000 retezcu.
ja jsem to delal dvema zpusoby
a to bud
Cely binarni soubor jsem prevedl do stringu pomoci hexa tvaru. tzn. ze mi
vznikl soubor
FE3323DE83DA................................... to znamena dvakrat vetsi nez
ten normalni. Pak jsem
jenom prochazel jednotlive zaznamy a pak jsem volal strpos(file,virret[i]).
Touhle metodou jsem
nalezl spravny retezec az po 3 sekundach. Spravny byl az na pozici 9368.
Druhej zpusob byl rychlejsi. Soubor jsem si nacetl do memorystream a a pak jsem
prochazel jedntlive binarni
zaznamy. Z binarniho zaznamu jsem si vzal prvni dva znaky (byte ) a prohledaval
jsem cely soubor na vyskyt daneho
bytu. Po nalezeni jsem provedl kontrolu nasledujiciho znaku na dalsi druhy byte
hledaneho retezce a pokud se shodoval
tak jsem porovnal dalsich 6 byte. pokud se schodovali provedl jsem kontrolu
celeho retezce. a tak to pokracovalo do te doby
do kud jsem neprohledal vsechny zaznamy... tahle metoda trvala
8 sekund a prohledavalo se 3 soubory. Ve vsech pripadech byl nalezen onen
retezec.
Ale stale se mi to zda docela pomale . Zajimalo by me jak to delaji antivirove
programy
Poradny antivir Kaspersky ma 77.000 zaznamu a a prohledani souboru mu moc
dlouho netrva. Totez
plati i pro NOD32...
Diky David
----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)
Odpovedá: Jiri Virt
10. 11. 2003 8:34
mrkni do msdn .. hledej binary AND tree
mozna to je ono, co hledas.
Jirka
----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)
Odpovedá: Daniel Frantik
10. 11. 2003 9:34
> -----Original Message-----
> Subject: Re: binarni vyhledavani
> mrkni do msdn .. hledej binary AND tree mozna to je ono, co hledas.
Osobne bych radeji pouzil hashovaci tabulku... projedes hashe a pak uz jen
sekvencne tech par retezcu, co maji stejny hash...
Danik
----------
* www.inMail.sk - Vasa emailova adresa na cely zivot ZDARMA
* Mail neobsahuje virusy. Zkontrolovane antivirusom NOD32 (www.eset.sk)
* www.SlovakNET.sk - profesionalny webhosting, domena .SK ZADARMO
* Zoner Media Explorer 5 - stiahnite si pomocnika pre digitalnu fotografiu
(zme.zoner.sk)